
function toHackerLanguage(text) {
    
    text = text.toLowerCase();

    let traductionTable = {
        a: ['4', '/\\', '@', '/-\\', '^', 'aye', '(L', 'Д]'],
        b: ['I3', '8', '13', '|3', 'ß', '!3', '(3', '/3', ')3', '|-]', 'j3', '6'],
        c: ['[', '¢', '{', '<', '(', '©'],
        d: [')', '|)', '(|', '[)', 'I>', '|>', '?', 'T)', 'I7', 'cl', '|}', '>', '|]'],
        e: ['3','&','£','€','ë','[-','|=-'],
        f: ['|=', 'ƒ', '|#', 'ph', '/=', 'v'],
        g: ['&','6','(_+','9','C-','gee','(?,','[,','{,','<-','(.'],
        h: ['#', '/-/', '[-]', ']-[', ')-(', '(-)', ':-:', '|~|', '|-|', ']~[', '}{', '!-!', '1-1', '\-/', 'I+I', '/-\\'],
        i: ['1', '[]', '|', '!', 'eye', '3y3', ']['],
        j: [',_|', '_|', '._|', '._]', '_]', ',_]', ']', ';', '1'],
        k: ['>|', '|<', '/<', '1<', '|c', '|(', '|{'],
        l: ['1', '£', '7', '|_', '|'],
        m: ['JVI', '[V]', '[]V[]', '|\/|', '^^', '<\/>', '{V}', '(v)', '(V)', '|V|', 'nn', 'IVI', '1^1', 'ITI', 'JTI'],
        n: ['^/', '|\|', '/\/', '[\]', '<\>', '{\}', '|V', '/V', 'И', '^', 'ท'],
        o: ['0', 'Q', '()', 'oh', '[]', 'p', '<>', 'Ø'],
        p: ['|*', '|o', '|º', '?', '|^', '|>', '|"', '9', '[]D', '|°', '|7'],
        q: ['(_,)', '9', '()_', '2', '0_', '<|', '&'],
        r: ['I2', '|`', '|~', '|?', '/2', '|^', 'lz', '|9', '2', '12', '®', '[z', 'Я', '.-', '|2', '|-'],
        s: ['5', '$', 'z', '§', 'ehs', 'es', '2'],
        t: ['7', '+', '-|-', '']['', '†', '"|"', '~|~'],
        u: ['(_)', '|_|', 'v', 'L|', 'µ', 'บ'],
        v: ['|/', '\|'],
        w: ['\/\/', 'VV', '\N', '\^/', '(n)', '\V/', '\X/', '\|/', '\_|_/', '\_:_/', 'Ш', 'Щ', 'uu', '2u', '\\//\\//', 'พ', 'v²'],
        x: ['><', 'Ж', '}{', 'ecks', '×', '?', ')(', ']['],
        y: ['j', '`/', 'Ч', '7'],
        z: ['2', '7_', '-/_', '%', '>_', 's', '~/_', '-\_', '-|_'],
        0: ['o', '()'],
        1: ['L', 'I'],
        2: ['R', 'Z'],
        3: ['E'],
        4: ['A'],
        5: ['S'],
        6: ['b', 'G'],
        7: ['T', 'L'],
        8: ['B'],
        9: ['g', 'q']
    }

    let traduction = [];
    
    for(var i=0; i < text.length; i++) {
        if(text[i] in traductionTable) {             
            let position = Math.round(Math.random() * traductionTable[text[i]].length);         
            traduction.push(traductionTable[text[i]][position]);
        } 
    }

    return traduction.join('');
}

console.log( toHackerLanguage('Sandy Averhoff') );